package com.firewolf.fr.s008_templateloader;

import java.io.File;

import freemarker.cache.ClassTemplateLoader;
import freemarker.cache.FileTemplateLoader;
import freemarker.cache.MultiTemplateLoader;
import freemarker.cache.TemplateLoader;
import freemarker.template.Configuration;
import freemarker.template.Template;

public class ClassTemplateLoaderTest {
	public static void main(String[] args) throws Exception {
		Configuration cfg2 = new Configuration(Configuration.VERSION_2_3_23);
		
		// 使用类路径加载，
		// 第一个参数：类加载器如果是主类，使用类名.class，如果是普通JAVA类，使用getClass()
		// 第二个参数：相对于当前类的路径，
		cfg2.setClassForTemplateLoading(TemplateLoaderDriver.class, "../../../../s008_ftl");
		Template t2 = cfg2.getTemplate("008_ftl1.ftl");
		System.out.println("setClassForTemplateLoading加载: "+t2);

//		// 类路径加载器
//		ClassTemplateLoader tl2 = new ClassTemplateLoader(TemplateLoaderDriver.class, "../../../../s008_ftl");
//		ClassTemplateLoader tl3 = new ClassTemplateLoader(TemplateLoaderDriver.class, "../../../../s008_ftl2");

//		TemplateLoader[] tls = { tl1, tl2, tl3 }; // 创建加载器数组
//		MultiTemplateLoader mtl = new MultiTemplateLoader(tls);// 多个加载器
//		cfg.setTemplateLoader(mtl);

//		System.out.println("MultiTemplateLoader加载："+cfg.getTemplate("008_ftl1.ftl"));
//		System.out.println("MultiTemplateLoader加载："+cfg.getTemplate("008_ftl2.ftl"));

	}
}
